package com.treeroot.designMode.Decorator;

/**
 * 具体装饰角色
 * 是具体的装饰对象，起到给Component添加职责的功能
 */
public class ConcreteDecoratorA extends Decorator {

    /**
     * 过调用父类 Decorator 的构造方法 super(component)
     * 将 Component 对象作为参数传入。这样就可以在 ConcreteDecorator 的 operation() 方法中先调用父类的 operation() 方法，然后再添加额外的功能。
     * @param component 抽象构件角色
     */
    public ConcreteDecoratorA(Component component) {
        super(component);

    }
    @Override
    public void operation() {
        super.operation();
        addedFunction();
    }


    public void addedFunction() {
        System.out.println("为具体构件角色增加额外的功能addedFunction()");
    }
}
